package br.urca.util;

import java.util.Calendar;
import java.util.TimeZone;

public class AutenticacaoDocumento {
	
	private String hash;
	private String autenticacao;
	
	@SuppressWarnings("unused")
	private AutenticacaoDocumento(){ }
	
	public AutenticacaoDocumento(String matricula, ETipoDocumento tipoDocumento) {
		gerarAutenticacao(matricula, tipoDocumento);		
	}
	
	private void gerarAutenticacao(String matricula, ETipoDocumento tipoDocumento) {
		Calendar calendar = Calendar.getInstance(TimeZone.getDefault());
		this.hash =  Criptografia.criptografarMD5(
				matricula + calendar.get(Calendar.DAY_OF_MONTH)
				+ (calendar.get(Calendar.MONTH) + 1)
				+ calendar.get(Calendar.YEAR)
				+ tipoDocumento.getTipo())
		.toUpperCase();
	}

	public String getAutenticacao() {
		this.autenticacao = this.hash.substring(0, 8) + " - "
				+ this.hash.substring(8, 16) + " - "
				+ this.hash.substring(16, 24) + " - "
				+ this.hash.substring(24, this.hash.length());
		return autenticacao;
	}

	public String getHash() {
		return hash;
	}
	
}
